package cn.itcast.item.service;

import cn.itcast.hmall.dto.common.PageDTO;
import cn.itcast.hmall.dto.common.ResultDTO;
import cn.itcast.hmall.dto.item.SearchItemDTO;
import cn.itcast.hmall.pojo.item.Item;

import java.util.Map;

public interface ItemService {
    /**
     * 2.1.分页查询商品
     * @param searchItemDTO
     * @return
     */
    PageDTO<Item> findGoodsByPage(SearchItemDTO searchItemDTO);

    /**
     * 根据id查询商品信息
     * @param id
     * @return
     */
    Item findGoodsById(String id);
    /**
     * 添加商品到数据库
     * @param item
     * @return
     */
    ResultDTO addGoods(Item item);

    /**
     * 下架商品
     * @param id
     * @param status
     * @return
     */
    ResultDTO shelvesGoodsById(String id, String status);

    /**
     * 修改商品信息
     * @param item
     * @return
     */
    ResultDTO updateGoods(Item item);

    /**
     * 根据id删除商品信息
     * @param id
     * @return
     */
    ResultDTO deleteGoodsById(String id);
    //修改商品库存
    void reductionInventory(String itemId, String num);
    //添加商品库存
    void addInventory(String itemId, String num);
}
